package com.itbaizhan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


//访问路径：http://localhost:8080/m3
@Controller
//SpringMVC提供了注解@CrossOrigin解决跨域问题  括号里是可以跨域发送的请求地址
@CrossOrigin("http://localhost:8080")
public class MyController3 {
    @ResponseBody
    @RequestMapping("/m3")
    public String m2(){
        System.out.println("测试跨域请求");
        return "success";
    }
}


/*当请求URL的协议、域名、端口三者中任意一个与当前页面URL不同时即为跨域。
浏览器执行JavaScript脚本时，会检查当前请求是否同源，如果不是同源资源，
就不会被执行。

 */
/*当前页面URL	                    被请求页面URL	                            是否跨域	原因
http://www.itbaizhan.com/	    http://www.itbaizhan.com/index.html	    否
http://www.itbaizhan.com/	    https://www.itbaizhan.com/index.html	跨域	    协议不同
http://www.itbaizhan.com/	    http://www.baidu.com/	                跨域	    主域名不同
http://www.itbaizhan.com/	    http://itbz.itbaizhan.com/	            跨域	    子域名不同
http://www.itbaizhan.com:8080/	http://www.itbaizhan.com:7001/	        跨域	    端口号不同
*/

/*同源策略是浏览器的一个安全功能。同源，指的是两个URL的协议(http/https)，域名，端口(8080/8081)相同。
浏览器出于安全方面的考虑，不同源的客户端脚本在没有明确授权的情况下，不能读写对方资源。

哪些不受同源策略限制：

页面中的<a>跳转、表单提交不会受到同源策略限制的。
静态资源引入也不会受到同源策略限制。
如嵌入到页面中的<script src="">，<img src="">，<link href="">等。*/